package com.arpa.wms.domain.dto;

import com.arpa.wms.domain.entity.BasicEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 积分明细
 * </p>
 *
 * @author wangdong
 * @since 2021-07-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="PointsItem对象", description="积分明细")
public class PointsItemDTO extends BasicEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "费用标识")
    private String code;

    @ApiModelProperty(value = "所属机构")
    private String groupCode;

    @ApiModelProperty(value = "仓库")
    private String warehouseCode;

    @ApiModelProperty(value = "仓库名称")
    private String warehouseName;

    @ApiModelProperty(value = "员工标识")
    private String partyCode;

    @ApiModelProperty(value = "变更类型：pack打包、exchange兑换、reward奖励")
    private String changeType;

    @ApiModelProperty(value = "变更积分")
    private BigDecimal changePoints;

    @ApiModelProperty(value = "剩余可用积分")
    private BigDecimal remainingAvailablePoints;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "第几页")
    private Integer pageNum=1;

    @ApiModelProperty(value = "每页条数")
    private Integer pageSize=10;

    @ApiModelProperty(value = "排序字段")
    private String sortField;

    @ApiModelProperty(value = "排序方式")
    private String sortType;

    @ApiModelProperty(value = "员工积分")
    private BigDecimal employeePoints;

    @ApiModelProperty(value = "可用积分")
    private BigDecimal availablePoints;

    @ApiModelProperty(value = "网点编码")
    private String branchCode;

    @ApiModelProperty(value = "部门编码")
    private String departmentCode;

    @ApiModelProperty(value = "部门名称")
    private String departmentName;

    @ApiModelProperty(value = "名称")
    private String name;

    @ApiModelProperty(value = "手机号")
    private String phone;

    @ApiModelProperty(value = "用工类型")
    private String employmentType;

    @ApiModelProperty(value = "劳务外包方")
    private String outsourcer;

    @ApiModelProperty(value = "员工积分上限")
    private BigDecimal employeePointsUp;

    @ApiModelProperty(value = "员工积分上限")
    private BigDecimal employeePointsLow;

    @ApiModelProperty(value = "可用积分上限")
    private BigDecimal availablePointsUp;

    @ApiModelProperty(value = "可用积分上限")
    private BigDecimal availablePointsLow;

    @ApiModelProperty(value = "变更后可用积分下限")
    private BigDecimal remainingAvailablePointsLow;

    @ApiModelProperty(value = "变更后可用积分上限")
    private BigDecimal remainingAvailablePointsUp;

    @ApiModelProperty(value = "授权该账号的仓库集合")
    private List<String> warehouseCodes;


}
